iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Python

讓Python不拍勝-實用套件實作與介紹系列 第 10

[DAY10]使用Python進行資料處理-Pandas(二)

  • 分享至 

  • xImage
  •  

上一篇介紹了 Pandas 和 Series 物件的一些基本操作,接下來就接著繼續介紹吧

查詢索引是否存在 Series 物件內

print('guitar' in instrument)
print('cajon' in instrument)

輸出結果

True
False

利用條件判斷提取 Series 物件內的元素

instrument.where(instrument > 3) #Series.where(條件, 不滿足的回傳值,預設為NaN)

輸出結果

guitar      NaN
bass        NaN
keyboard    5.0
violin      6.0
dtype: float64

指定不滿足條件的回傳值

instrument.where(instrument > 3, '小於等於3')

輸出結果

guitar      小於等於3
bass        小於等於3
keyboard        5
violin          6
dtype: object

檢查 Series 物件是否有缺失值

為了示範方便,我們先隨機將兩個 index 的值設為缺失值(NaN)

instrument['guitar'] = pd.NA
instrument['keyboard'] = pd.NA
print(instrument)

輸出結果

guitar      NaN
bass        3.0
keyboard    NaN
violin      6.0
dtype: float64

如果是缺失值返回true

instrument.isna()

輸出結果

guitar       True
bass        False
keyboard     True
violin      False
dtype: bool

如果不是缺失值返回true

instrument.notna()

輸出結果

guitar      False
bass         True
keyboard    False
violin       True
dtype: bool

填補缺失值

instrument.fillna('空值') #Series.fillna('想填的數字或字串')

輸出結果

guitar       空值
bass        3.0
keyboard     空值
violin      6.0
dtype: object

移除缺失值

instrument.dropna()

輸出結果

bass      3.0
violin    6.0
dtype: float64

基本的 Series 操作就大概介紹到這邊,需要請讀者注意的是,有些函數是只會回傳結果,不會改變原本的物件,有些函數或操作會直接更改原本物件的內容,但 Pandas 的函數通常不會修改原物件,僅會回傳結果而已,確保資料不會有不當修正。

下一篇繼續介紹 Pandas 的另一個資料類型,DataFrame。


上一篇
[DAY9]使用Python進行資料處理-Pandas(一)
下一篇
[DAY11]使用Python進行資料處理-Pandas(三)
系列文
讓Python不拍勝-實用套件實作與介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言